#!usr/bin/env python  
# -*- coding:utf-8 _*-
""" 
@author:robot
@file: build_path.py 
@version:
@time: 2022/05/23 
"""
from TapDevops.build_jenkins.v2.v2_base import v2


class V2LocalTaskCaseSetting:
    # task
    task = 'test_task'
    # initial
    initial_title = '全量任务'
    initial = 'test_01initial.py'
    # cdc
    cdc_titial = '增量任务'
    cdc = 'test_02cdc.py'
    # initial_cdc
    initial_cdc_title = '全量+增量任务'
    initial_cdc = 'test_03initial_cdc.py'

    data_copy_title = '数据复制'
    data_copy = 'test_data_copy'

    title_data_copy_initial = f'{data_copy_title}-{initial_title}'
    path_data_copy_initial = f'{v2}/{task}/{data_copy}/{initial}'

    title_data_copy_cdc = f'{data_copy_title}-{cdc_titial}'
    path_data_copy_cdc = f'{v2}/{task}/{data_copy}/{cdc}'

    title_data_copy_initial_cdc = f'{data_copy_title}-{initial_cdc_title}'
    path_data_copy_initial_cdc = f'{v2}/{task}/{data_copy}/{initial_cdc}'

    data_development_title = '数据开发'
    data_development = 'test_data_dev'

    title_data_development_initial = f'{data_development_title}-{initial_title}'
    path_data_development_initial = f'{v2}/{task}/{data_development}/{initial}'

    title_data_development_cdc = f'{data_development_title}-{cdc_titial}'
    path_data_development_cdc = f'{v2}/{task}/{data_development}/{cdc}'

    title_data_development_initial_cdc = f'{data_development_title}-{initial_cdc_title}'
    path_data_development_initial_cdc = f'{v2}/{task}/{data_development}/{initial_cdc}'

    # 全类型
    data_type_title = '全类型'
    data_copy_datatype = 'test_data_copy/test_datatype'

    title_data_copy_datatype_initial = f'{data_copy_title}-{data_type_title}-{initial_title}'
    path_data_copy_datatype_initial = f'{v2}/{task}/{data_copy_datatype}/{initial}'

    title_data_copy_datatype_cdc = f'{data_copy_title}-{data_type_title}-{cdc_titial}'
    path_data_copy_datatype_cdc = f'{v2}/{task}/{data_copy_datatype}/{cdc}'

    title_data_copy_datatype_initial_cdc = f'{data_copy_title}-{data_type_title}-{initial_cdc_title}'
    path_data_copy_datatype_initial_cdc = f'{v2}/{task}/{data_copy_datatype}/{initial_cdc}'

    data_development_datatype = 'test_data_dev/test_datatype'

    title_data_development_datatype_initial = f'{data_development_title}-{data_type_title}-{initial_title}'
    path_data_development_datatype_initial = f'{v2}/{task}/{data_development_datatype}/{initial}'

    title_data_development_datatype_cdc = f'{data_development_title}-{data_type_title}-{cdc_titial}'
    path_data_development_datatype_cdc = f'{v2}/{task}/{data_development_datatype}/{cdc}'

    title_data_development_datatype_initial_cdc = f'{data_development_title}-{data_type_title}-{initial_cdc_title}'
    path_data_development_datatype_initial_cdc = f'{v2}/{task}/{data_development_datatype}/{initial_cdc}'

    # inspects
    inspect_title = '数据校验'
    inspect_count_title = 'count校验'
    inspect_field_title = 'field校验'
    inspect_jointField_title = '关联字段校验'
    inspect = 'test_inspect'
    inspect_count = 'test_count'
    inspect_field = 'test_field'
    inspect_jointField = 'test_jointField'
    # COUNT
    # initial
    title_inspect_initial_count = f'{inspect_title}-{initial_title}-{inspect_count_title}'
    path_inspect_initial_count = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_count}/{initial.replace(".py", "_inspect_count.py")}'
    # cdc
    title_inspect_cdc_count = f'{inspect_title}-{cdc_titial}-{inspect_count_title}'
    path_inspect_cdc_count = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_count}/{cdc.replace(".py", "_inspect_count.py")}'
    # initial_cdc
    title_inspect_initial_cdc_count = f'{inspect_title}-{initial_cdc_title}-{inspect_count_title}'
    path_inspect_initial_cdc_count = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_count}/{initial_cdc.replace(".py", "_inspect_count.py")}'

    # FIELD
    title_inspect_initial_field = f'{inspect_title}-{initial_title}-{inspect_field_title}'
    path_inspect_initial_field = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_field}/{initial.replace(".py", "_inspect_field.py")}'
    # cdc
    title_inspect_cdc_field = f'{inspect_title}-{cdc_titial}-{inspect_field_title}'
    path_inspect_cdc_field = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_field}/{cdc.replace(".py", "_inspect_field.py")}'
    # initial_cdc
    title_inspect_initial_cdc_field = f'{inspect_title}-{initial_cdc_title}-{inspect_field_title}'
    path_inspect_initial_cdc_field = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_field}/{initial_cdc.replace(".py", "_inspect_field.py")}'

    # JOINT FIELD
    title_inspect_initial_jointField = f'{inspect_title}-{initial_title}-{inspect_jointField_title}'
    path_inspect_initial_jointField = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_jointField}/{initial.replace(".py", "_inspect_jointField.py")}'
    # cdc
    title_inspect_cdc_jointField = f'{inspect_title}-{cdc_titial}-{inspect_jointField_title}'
    path_inspect_cdc_jointField = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_jointField}/{cdc.replace(".py", "_inspect_jointField.py")}'
    # initial_cdc
    title_inspect_initial_cdc_jointField = f'{inspect_title}-{initial_cdc_title}-{inspect_jointField_title}'
    path_inspect_initial_cdc_jointField = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_jointField}/{initial_cdc.replace(".py", "_inspect_jointField.py")}'

    # inspect moretable_
    moretable_title = '10个表'
    inspect_moretable = 'test_moretable_ten'

    title_inspect_initial_count_moretable = f'{inspect_title}-{initial_title}-{moretable_title}-{inspect_count_title}'
    path_inspect_initial_count_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_count}/{initial.replace(".py", "_inspect_count.py")}'
    # cdc
    title_inspect_cdc_count_moretable = f'{inspect_title}-{cdc_titial}-{moretable_title}-{inspect_count_title}'
    path_inspect_cdc_count_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_count}/{cdc.replace(".py", "_inspect_count.py")}'
    # initial_cdc
    title_inspect_initial_cdc_count_moretable = f'{inspect_title}-{initial_cdc_title}-{moretable_title}-{inspect_count_title}'
    path_inspect_initial_cdc_count_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_count}/{initial_cdc.replace(".py", "_inspect_count.py")}'

    # FIELD
    title_inspect_initial_field_moretable = f'{inspect_title}-{initial_title}-{moretable_title}-{inspect_field_title}'
    path_inspect_initial_field_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_field}/{initial.replace(".py", "_inspect_field.py")}'
    # cdc
    title_inspect_cdc_field_moretable = f'{inspect_title}-{cdc_titial}-{moretable_title}-{inspect_field_title}'
    path_inspect_cdc_field_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_field}/{cdc.replace(".py", "_inspect_field.py")}'
    # initial_cdc
    title_inspect_initial_cdc_field_moretable = f'{inspect_title}-{initial_cdc_title}-{moretable_title}-{inspect_field_title}'
    path_inspect_initial_cdc_field_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_field}/{initial_cdc.replace(".py", "_inspect_field.py")}'

    # JOINT FIELD
    title_inspect_initial_jointField_moretable = f'{inspect_title}-{initial_title}-{moretable_title}-{inspect_jointField_title}'
    path_inspect_initial_jointField_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_jointField}/{initial.replace(".py", "_inspect_jointField.py")}'
    # cdc
    title_inspect_cdc_jointField_moretable = f'{inspect_title}-{cdc_titial}-{moretable_title}-{inspect_jointField_title}'
    path_inspect_cdc_jointField_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_jointField}/{cdc.replace(".py", "_inspect_jointField.py")}'
    # initial_cdc
    title_inspect_initial_cdc_jointField_moretable = f'{inspect_title}-{initial_cdc_title}-{moretable_title}-{inspect_jointField_title}'
    path_inspect_initial_cdc_jointField_moretable = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_jointField}/{initial_cdc.replace(".py", "_inspect_jointField.py")}'

    # inspect moretable_
    ten_thousand_title = '100000数据量'
    inspect_moretable = 'test_ten_thousand'

    title_inspect_initial_count_ten_thousand = f'{inspect_title}-{initial_title}-{ten_thousand_title}-{inspect_count_title}'
    path_inspect_initial_count_ten_thousand = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_count}/{initial.replace(".py", "_inspect_count.py")}'

    # FIELD
    title_inspect_initial_field_ten_thousand = f'{inspect_title}-{initial_title}-{ten_thousand_title}-{inspect_field_title}'
    path_inspect_initial_field_ten_thousand = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_field}/{initial.replace(".py", "_inspect_field.py")}'

    # JOINT FIELD
    title_inspect_initial_jointField_ten_thousand = f'{inspect_title}-{initial_title}-{ten_thousand_title}-{inspect_jointField_title}'
    path_inspect_initial_jointField_ten_thousand = f'{v2}/{task}/{data_copy}/{inspect}/{inspect_moretable}/{inspect_jointField}/{initial.replace(".py", "_inspect_jointField.py")}'

    # logminer
    logminer = 'test_logminer'

    title_logminer = f'共享挖掘'
    path_logminer = f'{v2}/{logminer}/test_logminer.py'

    operate = 'test_operate'

    # 字段改名 field rename
    field_rename_title = '字段改名'
    field_rename_path = 'test_op01_field_rename'

    field_rename_keep_title = '字段不变'
    field_rename_keep = 'test_keep'

    title_field_rename_keep_initial = f'{field_rename_title}-{initial_title}-{field_rename_keep_title}'
    path_field_rename_keep_initial = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_keep}/test_01initial_keep.py'

    title_field_rename_keep_cdc = f'{field_rename_title}-{cdc_titial}-{field_rename_keep_title}'
    path_field_rename_keep_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_keep}/test_02cdc_keep.py'

    title_field_rename_keep_initial_cdc = f'{field_rename_title}-{initial_cdc_title}-{field_rename_keep_title}'
    path_field_rename_keep_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_keep}/test_03initial_cdc_keep.py'

    field_rename_rename_title = '字段修改'
    field_rename_rename = 'test_rename'

    title_field_rename_initial = f'{field_rename_title}-{initial_title}-{field_rename_rename_title}'
    path_field_rename_initial = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_rename}/test_01initial_rename.py'

    field_rename_upper_title = '字段大写'
    field_rename_upper = 'test_upper'

    title_field_rename_upper_initial = f'{field_rename_title}-{initial_title}-{field_rename_upper_title}'
    path_field_rename_upper_initial = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_upper}/test_01initial_upper.py'

    title_field_rename_upper_cdc = f'{field_rename_title}-{cdc_titial}-{field_rename_upper_title}'
    path_field_rename_upper_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_upper}/test_02cdc_upper.py'

    title_field_rename_upper_initial_cdc = f'{field_rename_title}-{initial_cdc_title}-{field_rename_upper_title}'
    path_field_rename_upper_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_rename_path}/{field_rename_upper}/test_03initial_cdc_upper.py'

    # 增删字段 add delete field
    add_delete_field_title = '增删字段'
    add_delete_field_path = 'test_op02_add_delete_field'

    add_delete_field_keep_title = '字段不变'
    add_delete_field_keep = 'test_keep'

    title_add_delete_field_keep_initial = f'{add_delete_field_title}-{initial_title}-{add_delete_field_keep_title}'
    path_add_delete_field_keep_initial = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_delete_field_keep}/{initial}'

    title_add_delete_field_keep_cdc = f'{add_delete_field_title}-{cdc_titial}-{add_delete_field_keep_title}'
    path_add_delete_field_keep_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_delete_field_keep}/{cdc}'

    title_add_delete_field_keep_initial_cdc = f'{add_delete_field_title}-{initial_cdc_title}-{add_delete_field_keep_title}'
    path_add_delete_field_keep_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_delete_field_keep}/{initial_cdc}'

    add_field_title = '增加字段'
    add_field = 'test_add'

    title_add_field_initial = f'{add_delete_field_title}-{initial_title}-{add_field_title}'
    path_add_field_initial = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_field}/{initial}'

    title_add_field_cdc = f'{add_delete_field_title}-{cdc_titial}-{add_field_title}'
    path_add_field_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_field}/{cdc}'

    title_add_field_initial_cdc = f'{add_delete_field_title}-{initial_cdc_title}-{add_field_title}'
    path_add_field_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{add_field}/{initial_cdc}'

    delete_field_title = '删除字段'
    delete_field = 'test_delete'

    title_delete_field_initial = f'{add_delete_field_title}-{initial_title}-{delete_field_title}'
    path_delete_field_initial = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{delete_field}/{initial}'

    title_delete_field_cdc = f'{add_delete_field_title}-{cdc_titial}-{delete_field_title}'
    path_delete_field_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{delete_field}/{cdc}'

    title_delete_field_initial_cdc = f'{add_delete_field_title}-{initial_cdc_title}-{delete_field_title}'
    path_delete_field_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{add_delete_field_path}/{delete_field}/{initial_cdc}'

    # 行过滤器 rowfilter
    rowfilter_title = '行过滤器'
    rowfilter_path = 'test_op08_rowfilter'

    rowfilter_keep_title = '字段不变'
    rowfilter_keep = 'test_keep'

    title_rowfilter_keep_initial = f'{rowfilter_title}-{initial_title}-{rowfilter_keep_title}'
    path_rowfilter_keep_initial = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_keep}/{initial}'

    title_rowfilter_keep_cdc = f'{rowfilter_title}-{cdc_titial}-{rowfilter_keep_title}'
    path_rowfilter_keep_cdc = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_keep}/{cdc}'

    title_rowfilter_keep_initial_cdc = f'{rowfilter_title}-{initial_cdc_title}-{rowfilter_keep_title}'
    path_rowfilter_keep_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_keep}/{initial_cdc}'

    rowfilter_01_title = '字段filter01'
    rowfilter_01 = 'test_row_filter01'

    title_rowfilter_01_initial = f'{rowfilter_title}-{initial_title}-{rowfilter_01_title}'
    path_rowfilter_01_initial = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_01}/{initial}'

    title_rowfilter_01_cdc = f'{rowfilter_title}-{cdc_titial}-{rowfilter_01_title}'
    path_rowfilter_01_cdc = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_01}/{cdc}'

    title_rowfilter_01_initial_cdc = f'{rowfilter_title}-{initial_cdc_title}-{rowfilter_01_title}'
    path_rowfilter_01_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{rowfilter_path}/{rowfilter_01}/{initial_cdc}'

    # 左连 left join
    left_join_title = 'left join'
    left_join_path = 'test_op03_left_join'

    title_left_join_initial = f'{left_join_title}-{initial_title}'
    path_left_join_initial = f'{v2}/{task}/{data_development}/{operate}/{left_join_path}/{initial.replace(".py", "_left.py")}'

    title_left_join_cdc = f'{rowfilter_title}-{cdc_titial}'
    path_left_join_cdc = f'{v2}/{task}/{data_development}/{operate}/{left_join_path}/{cdc.replace(".py", "_left.py")}'

    title_left_join_initial_cdc = f'{rowfilter_title}-{initial_cdc_title}'
    path_left_join_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{left_join_path}/{initial_cdc.replace(".py", "_left.py")}'

    # 类型修改
    type_change_title = '类型修改'
    type_change_path = 'test_op04_type_modification'

    type_change_keep_title = '类型不变'
    type_change_keep_path = 'test_keep'

    title_type_change_keep_initial = f'{type_change_title}-{initial_title}'
    path_type_change_keep_initial = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_keep_path}/{initial}'

    title_type_change_keep_cdc = f'{type_change_title}-{cdc_titial}'
    path_type_change_keep_cdc = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_keep_path}/{cdc}'

    title_type_change_keep_initial_cdc = f'{type_change_title}-{initial_cdc_title}'
    path_type_change_keep_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_keep_path}/{initial_cdc}'

    type_change_1_title = 'pk变为String'
    type_change_1_path = 'test_change'

    title_type_change_1_initial = f'{type_change_1_title}-{initial_title}'
    path_type_change_1_initial = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_1_path}/{initial}'

    title_type_change_1_cdc = f'{type_change_1_title}-{cdc_titial}'
    path_type_change_1_cdc = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_1_path}/{cdc}'

    title_type_change_1_initial_cdc = f'{type_change_1_title}-{initial_cdc_title}'
    path_type_change_1_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{type_change_path}/{type_change_1_path}/{initial_cdc}'

    # 类型修改
    field_calculation_title = '字段计算'
    field_calculation_path = 'test_op05_field_calculation'

    field_calculation_keep_title = '不做计算'
    field_calculation_keep_path = 'test_keep'

    title_field_calculation_keep_initial = f'{field_calculation_title}-{initial_title}-{field_calculation_keep_title}'
    path_field_calculation_keep_initial = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_keep_path}/{initial}'

    title_field_calculation_keep_cdc = f'{field_calculation_title}-{cdc_titial}-{field_calculation_keep_title}'
    path_field_calculation_keep_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_keep_path}/{cdc}'

    title_field_calculation_keep_initial_cdc = f'{field_calculation_title}-{initial_cdc_title}-{field_calculation_keep_title}'
    path_field_calculation_keep_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_keep_path}/{initial_cdc}'

    field_calculation_change_title = 'title_赋值'
    field_calculation_change_path = 'test_change'

    title_field_calculation_change_initial = f'{field_calculation_title}-{initial_title}-{field_calculation_change_title}'
    path_field_calculation_change_initial = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_change_path}/{initial}'

    title_field_calculation_change_cdc = f'{field_calculation_title}-{cdc_titial}-{field_calculation_change_title}'
    path_field_calculation_change_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_change_path}/{cdc}'

    title_field_calculation_change_initial_cdc = f'{field_calculation_title}-{initial_cdc_title}-{field_calculation_change_title}'
    path_field_calculation_change_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{field_calculation_path}/{field_calculation_change_path}/{initial_cdc}'

    # 主从合并 merge
    merge_title = '主从合并'
    merge_path = 'test_op06_merge'

    one2more_title = '一对多'
    one2more_path = 'test_01one2more'

    title_one2more_initial = f'{merge_title}-{initial_title}-{one2more_title}'
    path_one2more_initial = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more_path}/{initial}'

    title_one2more_cdc = f'{merge_title}-{cdc_titial}-{one2more_title}'
    path_one2more_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more_path}/{cdc}'

    title_one2more_initial_cdc = f'{merge_title}-{initial_cdc_title}-{one2more_title}'
    path_one2more_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more_path}/{initial_cdc}'

    more2one_title = '多对一'
    more2one_path = 'test_02more2one'

    title_more2one_initial = f'{merge_title}-{initial_title}-{more2one_title}'
    path_more2one_initial = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{more2one_path}/{initial}'

    title_more2one_cdc = f'{merge_title}-{cdc_titial}-{more2one_title}'
    path_more2one_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{more2one_path}/{cdc}'

    title_more2one_initial_cdc = f'{merge_title}-{initial_cdc_title}-{more2one_title}'
    path_more2one_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{more2one_path}/{initial_cdc}'

    one2more2one_title = '一对多对一'
    one2more2one_path = 'test_03one2more2one'

    title_one2more2one_initial = f'{merge_title}-{initial_title}-{one2more2one_title}'
    path_one2more2one_initial = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more2one_path}/{initial}'

    title_one2more2one_cdc = f'{merge_title}-{cdc_titial}-{one2more2one_title}'
    path_one2more2one_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more2one_path}/{cdc}'

    title_one2more2one_initial_cdc = f'{merge_title}-{initial_cdc_title}-{one2more2one_title}'
    path_one2more2one_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{merge_path}/{one2more2one_path}/{initial_cdc}'

    # 聚合 agg
    agg_title = '聚合'
    agg_path = 'test_op07_aggregation'

    avg_title = 'avg'
    avg_path = 'test_avg'

    title_avg_initial = f'{agg_title}-{initial_title}-{avg_title}'
    path_avg_initial = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{avg_path}/{initial}'

    title_avg_cdc = f'{agg_title}-{cdc_titial}-{avg_title}'
    path_avg_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{avg_path}/{cdc}'

    title_avg_initial_cdc = f'{agg_title}-{initial_cdc_title}-{avg_title}'
    path_avg_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{avg_path}/{initial_cdc}'

    count_title = 'count'
    count_path = 'test_count'

    title_count_initial = f'{agg_title}-{initial_title}-{count_title}'
    path_count_initial = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{count_path}/{initial}'

    title_count_cdc = f'{agg_title}-{cdc_titial}-{count_title}'
    path_count_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{count_path}/{cdc}'

    title_count_initial_cdc = f'{agg_title}-{initial_cdc_title}-{count_title}'
    path_count_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{count_path}/{initial_cdc}'

    max_title = 'max'
    max_path = 'test_max'

    title_max_initial = f'{agg_title}-{initial_title}-{max_title}'
    path_max_initial = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{max_path}/{initial}'

    title_max_cdc = f'{agg_title}-{cdc_titial}-{max_title}'
    path_max_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{max_path}/{cdc}'

    title_max_initial_cdc = f'{agg_title}-{initial_cdc_title}-{max_title}'
    path_max_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{max_path}/{initial_cdc}'

    min_title = 'min'
    min_path = 'test_min'

    title_min_initial = f'{agg_title}-{initial_title}-{min_title}'
    path_min_initial = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{min_path}/{initial}'

    title_min_cdc = f'{agg_title}-{cdc_titial}-{min_title}'
    path_min_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{min_path}/{cdc}'

    title_min_initial_cdc = f'{agg_title}-{initial_cdc_title}-{min_title}'
    path_min_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{min_path}/{initial_cdc}'

    sum_title = 'sum'
    sum_path = 'test_sum'

    title_sum_initial = f'{agg_title}-{initial_title}-{sum_title}'
    path_sum_initial = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{sum_path}/{initial}'

    title_sum_cdc = f'{agg_title}-{cdc_titial}-{sum_title}'
    path_sum_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{sum_path}/{cdc}'

    title_sum_initial_cdc = f'{agg_title}-{initial_cdc_title}-{sum_title}'
    path_sum_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{agg_path}/{sum_path}/{initial_cdc}'

    # js
    js_title = 'js'
    js_path = 'test_op09_javascript'
    # common
    js_common_title = 'js节点'
    js_common_path = 'test_common'

    title_js_common_initial = f'{js_title}-{initial_title}-{js_common_title}'
    path_js_common_initial = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_common_path}/{initial}'

    title_js_common_cdc = f'{js_title}-{cdc_titial}-{js_common_title}'
    path_js_common_cdc = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_common_path}/{cdc}'

    title_js_common_initial_cdc = f'{js_title}-{initial_cdc_title}-{js_common_title}'
    path_js_common_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_common_path}/{initial_cdc}'

    # 共享缓存
    js_cache_title = '共享缓存'
    js_cache_path = 'js_share_cache'

    title_js_cache_initial = f'{js_title}-{initial_title}-{js_cache_title}'
    path_js_cache_initial = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_cache_path}/{initial.replace(".py", "_cache.py")}'

    title_js_cache_cdc = f'{js_title}-{cdc_titial}-{js_cache_title}'
    path_js_cache_cdc = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_cache_path}/{cdc.replace(".py", "_cache.py")}'

    title_js_cache_initial_cdc = f'{js_title}-{initial_cdc_title}-{js_cache_title}'
    path_js_cache_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_cache_path}/{initial_cdc.replace(".py", "_cache.py")}'

    # func 自定义节点
    js_func_title = '自定义节点'
    js_func_path = 'test_func'
    js_func_custom_path = 'test_custom'
    js_func_jar_path = 'test_jar'
    js_func_sys_path = 'test_sys'

    title_js_custom_initial = f'{js_title}-{initial_title}-{js_func_title}-自定义'
    title_js_jar_initial = f'{js_title}-{initial_title}-{js_func_title}-jar'
    title_js_sys_initial = f'{js_title}-{initial_title}-{js_func_title}-sys'
    path_js_custom_initial = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_func_path}/{js_func_custom_path}/{initial}'
    path_js_jar_initial = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_func_path}/{js_func_jar_path}/{initial}'
    path_js_sys_initial = f'{v2}/{task}/{data_development}/{operate}/{js_path}/{js_func_path}/{js_func_sys_path}/{initial}'

    # 自定义节点 custom node
    custom_node_title = '自定义节点'
    custom_node_path = 'test_op10_custom'

    title_custom_node_initial = f'{custom_node_title}-{initial_title}'
    path_custom_node_initial = f'{v2}/{task}/{data_development}/{operate}/{custom_node_path}/{initial}'

    title_custom_node_cdc = f'{custom_node_title}-{cdc_titial}'
    path_custom_node_cdc = f'{v2}/{task}/{data_development}/{operate}/{custom_node_path}/{cdc}'

    title_custom_node_initial_cdc = f'{custom_node_title}-{initial_cdc_title}'
    path_custom_node_initial_cdc = f'{v2}/{task}/{data_development}/{operate}/{custom_node_path}/{initial_cdc}'
